#ifndef PROG_MENU_H
#define PROG_MENU_H

#include <avr/io.h>
#include <avr/interrupt.h>
#include <ctype.h>
#include <avr/pgmspace.h>

#include "module_events.h"
#include "module_io.h"
#include "lcd.h"
#include "module_program.h"
#include "time.h"
//menu enums

typedef void (* MenuFunction)(int8_t);

//Function declarations
extern int8_t prog_menu_init(void);
extern int8_t prog_menu_uninit(void);
extern int8_t prog_menu_run(void);
//Draws selected make
void lcd_draw_menu(int8_t cursor);

void lcd_menu_main(int8_t cursor);
void lcd_menu_main_itemselected(int8_t item);
void lcd_menu_settings(int8_t cursor);
void lcd_menu_settings_itemselected(int8_t item);
void lcd_menu_program(int8_t cursor);
void lcd_menu_program_itemselected(int8_t item);
void lcd_menu_runningprograms(int8_t cursor);
void lcd_menu_runningprograms_itemselected(int8_t item);

void lcd_write_temperature(int16_t temperature);

void lcd_splash_screen(void);

void lcd_button_pressed(Event *event);
#endif
